1. Field of the Invention
This invention relates to the field of expert systems.
2. Background Art
Personal computers are often used as a tool to aid in identifying solutions to user requests that can be described in terms of constraints and user selected criteria. An expert system is a system with embedded knowledge concerning a particular subject. A user presents a problem to the expert system. Through appropriate prompting of the user, the expert system arrives at a solution to the problem based on its embedded knowledge.
Prior art expert systems have used a "diagnostic" solution model to solve problems. In a diagnostic solution model, the goal is to traverse a decision tree and arrive at a single, unique solution for a given set of input parameters. The knowledge representation technique traditionally used in a diagnostic solution-based expert system is a rules parsing technique known as "backward chaining." Backward chaining assumes that there is a single end state from which to work backwards to identify a specific diagnosis (solution). Such backward chaining systems have limited application in areas such as design. A design problem may have several equally valid solutions that satisfy the user input parameters. Therefore, backward chaining diagnostic-based solutions that force the expert system to provide a single response to a single set of input parameters are not desired. In trying to prove a goal in backward chaining, assertions that match the antecedents become sub-goals. Proving of all these sub-goals completes the proof of the original goal.
Diagnostic solution-based expert systems may also use "forward chaining." In forward chaining, a set of "first principles" are defined. These first principles are then codified as "if . . . then . . . " rules. In forward chaining, antecedents are defined that lead to consequents. When an assertion matches an antecedent, that link in the forward chain is traversed. When this happens, the datem (instance) corresponding to the consequent is added to the global database. A disadvantage of forward chaining is that it is difficult to establish a dearly defined set of rules for many design problems, and it is impossible to know all valid end states. There could be literally millions of valid end states. Therefore, forward chaining is a limited solution at best and is not effective at implementing a design expert system.
One design problem in particular that can benefit from the use of an expert system is graphic design on a personal computer. Personal computers provide tools for creating professional quality presentation materials. Numerous "desktop publishing" business graphics products are available for computer users to introduce techniques and effects into documents. Personal computer users can customize the overall layout of a page, the text printed on the page, and the colors of text, graphics and backgrounds.
A page layout program is used to control the overall look of a document. The page layout program permits a user to place and arrange blocks of text, graphics, borders, titles, backgrounds, etc., on a page or document.
The presentation of text in a document can be customized by selecting different "fonts" for the text. A font is a collection of character representations that are of a specific typeface (such as courier, times, palatino, helvetica, etc.), combined with a specific typestyle (bold, italic, bold and italic, outline, shadow, etc.).
Graphics and paint programs allow a computer user to "draw" or "paint" using the display of a computer to create graphic images or designs. These graphic images can then be incorporated into presentation documents. Also available are libraries of "clip art," pre-existing images the user may copy and paste into a presentation document.
Many computer systems allow a user to design and create presentation documents that can be displayed on a color display and printed on a color printer. This is particularly important in desktop publishing, where color documents are common.
In addition, the user may desire to display data in the form of a chart or graph. There are a number of dedicated charting and graph programs, as well as charting and graphing tools implemented in spread sheet and/or database programs.
In spite of the availablity of sophisticated tools for creating and generating presentation materials, the typical user uses only a small percentage of the choices available. For example, although there are literally thousands of fonts from which a user can select in preparing documents, studies have shown that most users select conservative business-type fonts such as "times" or "palatino." The majority of computer users are not trained in publishing or printing. Therefore, users are hesitant to experiment with different fonts, page layouts or presentation. Consequently, all documents produced by that user tend to look the same.
A disadvantage of prior art design tools is that a user must tell the tools "what to do." It would be more desirable to have design tools that ask a computer user "what the user wants," and then provides possible solutions to the user's desires.